#ifndef __BANGDOTS_H__2010
#define __BANGDOTS_H__2010
#include "config.h"

struct bangdots {
  // Bang dots have the same colour as shield dots.
  // Bang dots get darker as they age.
  // Some are coloured the same as the ex-ship.
  float x, y, dx, dy;
  RD_VIDEO_TYPE c;		// when zero, use heatcolor[bangdotlife]
  float life;			// When reduced to 0, kill
  float decay;			// Amount by which to reduce life each time dot is drawn
};

/*! \brief Create bangdots
 *
 * Bangdots are used for explosions etc.
 */
void makebangdots(int xbang, int ybang, int xvel, int yvel, SDL_Surface * s,
		  int power, int amtdots);

/*! \brief Draw the bangdots (explosion).
 *
 * \param s Surface to draw on.
 */
void draw_bang_dots(SDL_Surface * s);

/*! \brief Move and age bangdots.
 *
 * This function moves all bangdots and cools them. If they are too
 * cool or have moved out of the screen they are set to inactive
 * status. Also all bangdots are inactivated which collide with
 * something.
 */
void update_bangdots(SDL_Surface * s);

#endif
